1. Field of the Invention
This invention relates to microprocessors. In particular, the invention relates to firmware.
2. Description of Related Art
Non-volatile memories (e.g., flash memories) are increasingly important in many microprocessor applications. One particular use of non-volatile memories is in a firmware hub (FWH). A FWH provides an integrated mechanism to enable security-enhanced platform infrastructure in modern microprocessor platforms. The non-volatile memory in a FWH is typically used for platform code and data storage.
A flash memory needs to be erased and programmed to store code and data. Traditional techniques to program flash memories include mass programming at the manufacturing facility and remote programming with the aid of the host processor.
Programming at the manufacturing facility involves the use of programming and test equipment. For applications that require frequent updates, this programming approach is not practical. Remote programming by a host processor requires an interface with the host to allow the host or a special processor to carry out the programming sequence. In many applications, the intervention by a host processor is not desirable. For example, if the flash memory itself is used as a boot device from which the host processor obtains the boot code, it is impossible for the host processor to program its own boot code.
Therefore, there is a need to have a firmware device having a self-update ability to program itself without an external device.
The present invention relates to a method and apparatus to self update a firmware device. The apparatus comprises a communication interface to receive programming information and a parser to parse the programming information into control commands and program data. The parser is coupled to the communication interface.